<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8" />
		<script src="../../list.js"></script>
		<script src="../../page.js"></script>
		<link type="text/css" rel="stylesheet" href="../../page.css" />
	</head>
	<body>
		<h1>[name]</h1>

		<div class="desc">
		This class makes raycasting easier. Raycasting is used for picking and more.
			
		</div>


		<h2>Constructor</h2>

		<h3>[name]( [page:Vector3 origin], [page:Vector3 direction], [page:Float near], [page:Float far] ) {</h3>
		<div>
		[page:Vector3 origin] — The origin vector where the ray casts from.<br />
		[page:Vector3 direction] — The direction vector that  gives direction to the ray.<br />
		[page:Float near] — All results returned are further away then near. Near can't be negative. Default value is 0.<br />
		[page:Float far] — All results returned are closer then far. Far can't be lower then near . Default value is Infinity.
		</div>
		<div>
		This creates a new raycaster object.<br />
		</div>


		<h2>Properties</h2>

		<h3>.[page:Ray ray]</h3>
		<div>
		The Ray used for the raycasting.
		</div>

		<h3>.[page:float near]</h3>
		<div>
		The near factor of the raycaster. This value indicates which objects can be discarded based on the distance.<br />
		This value shouldn't be negative and should be smaller then the far property. 
		</div>

		<h3>.[page:float far]</h3>
		<div>
		The far factor of the raycaster. This value indicates which objects can be discarded based on the distance.<br />
		This value shouldn't be negative and should be smaller then the far property. 
		</div>

		<h3>.[page:float precision]</h3>
		<div>
		The precision factor of the raycaster. 
		</div>

		<h2>Methods</h2>

		<h3>.set( [page:Vector3 origin], [page:Vector3 direction] )</h3>
		<div>
		[page:Vector3 origin] — The origin vector where the ray casts from.<br />
		[page:Vector3 direction] — The direction vector that  gives direction to the ray.
		</div>
		<div>
		Updates the ray with a new origin and direction.
		</div>

		<h3>.intersectObject( [page:Object3D object], [page:Boolean recursive] )</h3>
		<div>
		[page:Object3D object] — The object to check for intersection with the ray.<br />
		[page:Boolean recursive] — If set, it also checks all descendants. Otherwise it only checks intersecton with the object.
		</div>
		<div>
		checks all intersection between the ray and the object with or without the descendants.
		</div>

		<h3>.intersectObjects( [page:Array objects], [page:Boolean recursive] )</h3>
		<div>
		[page:Array objects] — The objects to check for intersection with the ray.<br />
		[page:Boolean recursive] — If set, it also checks all descendants of the objects. Otherwise it only checks intersecton with the objects.
		</div>
		<div>
		checks all intersection between the ray and the objects with or without the descendants.
		</div>


		<h2>Source</h2>

		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
	</body>
</html>
